package edu.neu.swc.skynet.repository;

import cn.hutool.db.PageResult;
import edu.neu.swc.skynet.document.SkyNetBookDoc;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.data.mongodb.repository.MongoRepository;

import java.util.List;

/**
 * <h1>书籍文档数据访问接口</h1>
 */
public interface SkyNetBookRepository extends MongoRepository<SkyNetBookDoc, String> {

    /**
     * <h2>根据书名查找书籍</h2>
     * @param bookName 传递的书籍名称
     * @param pageable 分页信息
     * @return 找到的书籍列表
     */
    Page<SkyNetBookDoc> findByBookName(String bookName, Pageable pageable);

    /**
     * <h2>根据图书 Id 查找书籍</h2>
     * 返回值唯一，或为 null
     * @param id 传递的 ID
     * @return 返回的图书对象
     */
    SkyNetBookDoc findById(Long id);
}
